iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 18
0
Everything on Azure

Azure Service 實作 ( Blockchain、AI、 Serverless Architecture)系列 第 18

18. 使用 Azure Speaker Recognition API 由聲音辨識人物 (上)

  • 分享至 

  • xImage
  •  

Azure 的 Speaker Recognition API 可分為兩部分:分別為說話者的身份驗證(Verification),與說話者的身份識別(Identification)。

這項服務可以用來當作門禁系統等的驗證系統,說『 芝麻開門 』即可驗證身份,可以省去每次進公司都要刷指紋刷好多次又進不去的問題(但可能變成一群人在門外喊開門)。

前置步驟:

1. 先到以下網站按下試用,並取得金鑰。

https://azure.microsoft.com/en-us/services/cognitive-services/speaker-recognition/

2. 接著到以下網站查看 API 文件

https://westus.dev.cognitive.microsoft.com/docs/services/563309b6778daf02acc0a508/operations/5645c523778daf217c292592

使用 API

這裡我們先使用 Identification API 辨識功能。

1. 首先要創建 Profile

每個 Profile 代表一個人,每個 Profile 可存入多個聲音。
https://westus.dev.cognitive.microsoft.com/docs/services/563309b6778daf02acc0a508/operations/5645c068e597ed22ec38f42e

https://ithelp.ithome.com.tw/upload/images/20181029/20112426L7Sp8kyFTy.png

創建後可以看到回傳一個 identificationProfileId

2. 接著要註冊聲音(Enrollment)

上傳聲音檔案到 Profile 中。
https://westus.dev.cognitive.microsoft.com/docs/services/563309b6778daf02acc0a508/operations/5645c3271984551c84ec6797

音訊檔案記得要符合以下格式。

Container	    WAV
Encoding	    PCM
Rate	        16K
Sample_Format	16 bit
Channels	    Mono

可以使用此網站轉換:https://audio.online-convert.com/convert-to-wav

https://ithelp.ithome.com.tw/upload/images/20181029/201124266OJQnPiSYZ.png

可以看到回傳的 Header 部分的 operation-location 欄位有一個 URL,我們可從此 URL 查看音訊處理狀態,每個 Profile 最多只能加入 1000 個聲音。

3. 查看 Enrollment 處理狀態

發送一個 GET 請求並附上金鑰。

https://ithelp.ithome.com.tw/upload/images/20181029/20112426qu7f7Z1r5E.png

4.辨識聲音是何人所發出

上傳好許多不同的聲音檔案後,我們就可以開始測試我們的聲音集,其中 identificationProfileIds 的參數最多可以填上 10 組 ProfileID,每個 ProfileID 內包含許多剛才上傳的樣本聲音。

https://westus.dev.cognitive.microsoft.com/docs/services/563309b6778daf02acc0a508/operations/5645c523778daf217c292592

之後如下圖發送我們要辨識的聲音檔案,發送後等待幾秒鐘處理,即可看到回傳的參數一樣有 operation-location URL。

https://ithelp.ithome.com.tw/upload/images/20181029/20112426SEOiAUldMj.png

最後再從 operation-location URL 發送請求

https://ithelp.ithome.com.tw/upload/images/20181029/20112426t0c9hzTJ3w.png

即可得到從第四步驟所傳入的 identificationProfileIds 中得到最符合此聲音的 Profile GUID

最後從此 Profile GUID 與自己所建立的人物名稱表對應,即可得到聲音是誰所產生。


上一篇
17. 使用 Azure 語音服務 API 將聲音轉為文字
下一篇
19. 使用 Azure Speaker Recognition API 由聲音辨識人物 (下)
系列文
Azure Service 實作 ( Blockchain、AI、 Serverless Architecture)30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言